/**
 * @Copyright:Copyright (c) 2007 - 2023
 * 
 */
package com.tengtong.duang.app.query.core;

import java.util.LinkedList;

/**
 * 实体数据接口
 *
 * @author lin_jinming
 * @since: v1.0
 */
public interface EntityBaseData {

    /**
     * 实体数据名称
     *
     * @return
     */
    public String getEntityName();
    
    /**
     * 接口的简单实现
     *
     *
     * @author lin_jinming
     * @since: v1.0
     */
    public static class SimpleEntityData implements EntityBaseData {
        
        private String entityName;

        /**
         * @return the entityName
         */
        public String getEntityName() {
            return entityName;
        }

        /**
         * @param entityName the entityName to set
         */
        public void setEntityName(String entityName) {
            this.entityName = entityName;
        }
    }
    
    public static class QueryEntityData extends SimpleEntityData {
        
        private LinkedList<Object> expressList;
        
        private ColumnsBuilder columnsBuilder;

        /**
         * @return the expressList
         */
        public LinkedList<Object> getExpressList() {
            return expressList;
        }

        /**
         * @param expressList the expressList to set
         */
        public void setExpressList(LinkedList<Object> expressList) {
            this.expressList = expressList;
        }

        /**
         * @return the columnsBuilder
         */
        public ColumnsBuilder getColumnsBuilder() {
            return columnsBuilder;
        }

        /**
         * @param columnsBuilder the columnsBuilder to set
         */
        public void setColumnsBuilder(ColumnsBuilder columnsBuilder) {
            this.columnsBuilder = columnsBuilder;
        }
        
        
    }
}
